﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GBlason.ViewModel;
using GBlason.ViewModel.General;

namespace GBlason.Common.CustomCommand
{
    public class CommandParameter
    {
        public CommandParameter(Object parameter, GbsFileViewModel target)
        {
            Parameter = parameter;
            FileTargeted = target;
        }

        public CommandParameter(Object parameter, GbsFileViewModel file, ICommandTarget obj)
        {
            Parameter = parameter;
            FileTargeted = file;
            ObjectTargeted = obj;
        }

        /// <summary>
        /// Gets or sets the parameter for the action.
        /// </summary>
        /// <value>
        /// The parameter.
        /// </value>
        public Object Parameter { get; set; }

        /// <summary>
        /// Gets or sets the file targeted.
        /// </summary>
        /// <value>
        /// The file targeted.
        /// </value>
        public GbsFileViewModel FileTargeted { get; set; }

        /// <summary>
        /// Gets or sets the object targeted by the action.
        /// </summary>
        /// <value>
        /// The object targeted.
        /// </value>
        public ICommandTarget ObjectTargeted { get; set; }
    }
}
